import pandas as pd
import numpy as np
url = "https://docs.google.com/spreadsheets/d/1mS6khEB6m8cPNenNvY9Tg6bJ6YkmcvCI/export?format=csv&gid=1283335856"
df = pd.read_csv(url)
df.head()
| TERM | SUBJECT | NBR | COURSE NAME | SECTION | PROF | TOTAL | A+ | A | A- | ... | C | C- | D | F | W | INC/NA | AVG GPA | join the best club on campus | Unnamed: 22 | https://discord.gg/vxCqd4hdak | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | F2022 | ACCT | 100 | Fin & Mgr Acct | 1 | HO, V | 28 | 0 | 11 | 2 | ... | 3 | 0 | 0 | 0 | 5 | 0 | 3.383 | NaN | NaN | NaN |
| 1 | F2022 | ACCT | 101 | Intro Thry & Prac of Acct I | 11 | CHAN, J | 29 | 0 | 13 | 2 | ... | 0 | 1 | 0 | 0 | 3 | 0 | 3.464 | NaN | NaN | NaN |
| 2 | F2022 | ACCT | 101 | Intro Thry & Prac of Acct I | 5 | RUTHIZER, S | 50 | 2 | 9 | 14 | ... | 1 | 0 | 3 | 2 | 3 | 0 | 3.176 | NaN | NaN | NaN |
| 3 | F2022 | ACCT | 101 | Intro Thry & Prac of Acct I | 2 | GRUZA, M | 45 | 1 | 2 | 3 | ... | 0 | 0 | 0 | 0 | 25 | 0 | 3.067 | NaN | NaN | NaN |
| 4 | F2022 | ACCT | 101 | Intro Thry & Prac of Acct I | 4 | FEISULLIN, A | 45 | 4 | 6 | 1 | ... | 9 | 1 | 1 | 0 | 4 | 1 | 2.908 | NaN | NaN | NaN |
5 rows × 24 columns
important_columns = ["SUBJECT", "NBR", "COURSE NAME", "PROF", "TOTAL", "A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D", "F", "W", "AVG GPA"]
def gpa_letter_converter(gpa):
letter_grades = {
"A": 4.0,
"A-": (3.7, 3.8, 3.9),
"B+": (3.3, 3.4, 3.5, 3.6),
"B": (3.0, 3.1, 3.2),
"B-": (2.7, 2.8, 2.9),
"C+": (2.3, 2.4, 2.5, 2.6),
"C": (2.0, 2.1, 2.2),
"C-": (1.7, 1.8, 1.9),
"D": (1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6),
"F": (0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9)
}
for letter_grade, number_grade in letter_grades.items():
if isinstance(number_grade, float) and gpa == number_grade:
return letter_grade
elif isinstance(number_grade, tuple) and gpa in number_grade:
return letter_grade
return None
analysis_df = df[important_columns]
analysis_df.head()
| SUBJECT | NBR | COURSE NAME | PROF | TOTAL | A+ | A | A- | B+ | B | B- | C+ | C | C- | D | F | W | AVG GPA | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | ACCT | 100 | Fin & Mgr Acct | HO, V | 28 | 0 | 11 | 2 | 1 | 3 | 3 | 0 | 3 | 0 | 0 | 0 | 5 | 3.383 |
| 1 | ACCT | 101 | Intro Thry & Prac of Acct I | CHAN, J | 29 | 0 | 13 | 2 | 0 | 4 | 5 | 0 | 0 | 1 | 0 | 0 | 3 | 3.464 |
| 2 | ACCT | 101 | Intro Thry & Prac of Acct I | RUTHIZER, S | 50 | 2 | 9 | 14 | 6 | 4 | 5 | 0 | 1 | 0 | 3 | 2 | 3 | 3.176 |
| 3 | ACCT | 101 | Intro Thry & Prac of Acct I | GRUZA, M | 45 | 1 | 2 | 3 | 1 | 5 | 0 | 6 | 0 | 0 | 0 | 0 | 25 | 3.067 |
| 4 | ACCT | 101 | Intro Thry & Prac of Acct I | FEISULLIN, A | 45 | 4 | 6 | 1 | 7 | 5 | 0 | 6 | 9 | 1 | 1 | 0 | 4 | 2.908 |
analysis_df = analysis_df.dropna(subset = "PROF")
analysis_df = analysis_df[analysis_df["AVG GPA"] != 0]
analysis_df.shape
(2333, 18)
math_df = analysis_df[analysis_df['SUBJECT']== 'MATH']
pd.set_option('display.max_rows', None)
math_df
| SUBJECT | NBR | COURSE NAME | PROF | TOTAL | A+ | A | A- | B+ | B | B- | C+ | C | C- | D | F | W | AVG GPA | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1757 | MATH | 110 | Math Literacy | ALI, M | 37 | 7 | 9 | 3 | 4 | 2 | 2 | 1 | 1 | 0 | 1 | 0 | 5 | 3.500 |
| 1758 | MATH | 110 | Math Literacy | ALI, M | 37 | 10 | 7 | 2 | 1 | 3 | 3 | 3 | 1 | 0 | 1 | 0 | 5 | 3.410 |
| 1759 | MATH | 110 | Math Literacy | LASKER, M | 31 | 3 | 8 | 2 | 3 | 0 | 4 | 0 | 1 | 0 | 0 | 2 | 7 | 3.222 |
| 1760 | MATH | 110 | Math Literacy | BEGA, J | 37 | 4 | 0 | 5 | 3 | 3 | 3 | 4 | 2 | 2 | 0 | 1 | 6 | 2.893 |
| 1761 | MATH | 110 | Math Literacy | WOLF-SONKIN, V | 30 | 0 | 1 | 1 | 0 | 6 | 1 | 0 | 2 | 2 | 4 | 5 | 7 | 1.809 |
| 1762 | MATH | 114 | Elementary Prob&Stat | LEHMAN, S | 20 | 1 | 1 | 4 | 0 | 5 | 0 | 2 | 0 | 1 | 3 | 0 | 3 | 2.771 |
| 1763 | MATH | 115 | College Algebra for Precalc | ALI, M | 29 | 6 | 5 | 1 | 4 | 3 | 2 | 0 | 1 | 2 | 1 | 0 | 3 | 3.268 |
| 1764 | MATH | 115 | College Algebra for Precalc | UDDIN, J | 30 | 0 | 3 | 1 | 3 | 1 | 2 | 0 | 1 | 3 | 0 | 1 | 14 | 2.740 |
| 1765 | MATH | 115 | College Algebra for Precalc | CLARKE, A | 22 | 1 | 0 | 1 | 1 | 2 | 1 | 0 | 1 | 0 | 0 | 1 | 11 | 2.713 |
| 1766 | MATH | 115 | College Algebra for Precalc | TOBAR, J | 30 | 1 | 2 | 3 | 1 | 4 | 0 | 1 | 5 | 2 | 3 | 0 | 2 | 2.595 |
| 1767 | MATH | 115 | College Algebra for Precalc | NAKAYAMA, A | 38 | 4 | 2 | 0 | 2 | 3 | 3 | 2 | 4 | 1 | 1 | 3 | 8 | 2.520 |
| 1768 | MATH | 115 | College Algebra for Precalc | NAKAYAMA, A | 39 | 3 | 1 | 3 | 7 | 0 | 2 | 4 | 2 | 1 | 5 | 3 | 6 | 2.435 |
| 1769 | MATH | 115 | College Algebra for Precalc | CLARKE, A | 21 | 0 | 0 | 1 | 1 | 0 | 5 | 0 | 1 | 1 | 0 | 1 | 6 | 2.420 |
| 1770 | MATH | 115 | College Algebra for Precalc | OSTROWSKY, A | 37 | 3 | 4 | 1 | 2 | 1 | 0 | 0 | 2 | 2 | 6 | 2 | 12 | 2.378 |
| 1771 | MATH | 115 | College Algebra for Precalc | BOTEJU, W | 38 | 0 | 3 | 2 | 0 | 2 | 3 | 2 | 2 | 4 | 2 | 5 | 8 | 2.036 |
| 1772 | MATH | 115 | College Algebra for Precalc | LEE, D | 35 | 0 | 3 | 0 | 4 | 2 | 0 | 1 | 0 | 6 | 9 | 1 | 9 | 2.027 |
| 1773 | MATH | 115 | College Algebra for Precalc | GILLMAN, P | 30 | 3 | 0 | 0 | 0 | 2 | 0 | 2 | 0 | 1 | 3 | 5 | 9 | 1.706 |
| 1774 | MATH | 115 | College Algebra for Precalc | CLARKE, A | 22 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 2 | 0 | 3 | 7 | 1.556 |
| 1775 | MATH | 115 | College Algebra for Precalc | WOLF-SONKIN, V | 30 | 0 | 0 | 0 | 1 | 0 | 3 | 1 | 1 | 2 | 1 | 4 | 16 | 1.546 |
| 1776 | MATH | 115 | College Algebra for Precalc | LEE, D | 35 | 0 | 0 | 0 | 2 | 0 | 2 | 0 | 1 | 8 | 7 | 3 | 9 | 1.504 |
| 1777 | MATH | 115 | College Algebra for Precalc | LEHMAN, S | 21 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 2 | 0 | 1 | 6 | 5 | 1.415 |
| 1778 | MATH | 115 | College Algebra for Precalc | GILLMAN, P | 36 | 0 | 2 | 0 | 0 | 1 | 0 | 2 | 1 | 2 | 2 | 8 | 12 | 1.278 |
| 1779 | MATH | 115 | College Algebra for Precalc | NEVAREZ, B | 30 | 0 | 0 | 0 | 2 | 0 | 2 | 2 | 1 | 1 | 3 | 8 | 9 | 1.226 |
| 1780 | MATH | 115 | College Algebra for Precalc | CHOW, J | 29 | 0 | 0 | 0 | 2 | 0 | 0 | 1 | 3 | 0 | 5 | 8 | 4 | 1.047 |
| 1781 | MATH | 115 | College Algebra for Precalc | GONZALEZ, R | 14 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 2 | 1 | 1 | 7 | 1 | 0.867 |
| 1782 | MATH | 119 | Math for Elem School Teachers | LEE, H | 25 | 4 | 2 | 3 | 3 | 3 | 4 | 2 | 0 | 0 | 1 | 0 | 3 | 3.200 |
| 1783 | MATH | 119 | Math for Elem School Teachers | GREENMAN, J | 30 | 3 | 5 | 2 | 1 | 4 | 0 | 2 | 8 | 1 | 0 | 0 | 4 | 2.962 |
| 1784 | MATH | 119 | Math for Elem School Teachers | CHOW, J | 29 | 5 | 5 | 1 | 3 | 1 | 2 | 2 | 2 | 2 | 0 | 2 | 1 | 2.960 |
| 1785 | MATH | 119 | Math for Elem School Teachers | LIN, Y | 30 | 6 | 4 | 1 | 5 | 1 | 2 | 0 | 3 | 1 | 3 | 2 | 2 | 2.832 |
| 1786 | MATH | 119 | Math for Elem School Teachers | LEHMAN, S | 16 | 2 | 1 | 2 | 1 | 1 | 1 | 0 | 1 | 0 | 3 | 1 | 2 | 2.569 |
| 1787 | MATH | 119 | Math for Elem School Teachers | BERGER, K | 36 | 2 | 4 | 5 | 3 | 1 | 2 | 0 | 1 | 2 | 9 | 1 | 5 | 2.507 |
| 1788 | MATH | 119 | Math for Elem School Teachers | SHEN, T | 36 | 1 | 2 | 1 | 2 | 2 | 4 | 3 | 2 | 4 | 5 | 2 | 7 | 2.207 |
| 1789 | MATH | 120 | Discrete Math Comp Sci | GOLDMAN, S | 35 | 0 | 9 | 6 | 2 | 3 | 2 | 9 | 0 | 1 | 2 | 0 | 1 | 3.047 |
| 1790 | MATH | 120 | Discrete Math Comp Sci | WANG, A | 35 | 4 | 2 | 1 | 2 | 0 | 3 | 5 | 2 | 3 | 2 | 1 | 10 | 2.600 |
| 1791 | MATH | 120 | Discrete Math Comp Sci | JOANIDHI, Z | 30 | 0 | 8 | 1 | 0 | 1 | 0 | 1 | 5 | 0 | 0 | 6 | 6 | 2.318 |
| 1792 | MATH | 120 | Discrete Math Comp Sci | BERGER, K | 35 | 0 | 1 | 0 | 2 | 6 | 3 | 2 | 2 | 2 | 4 | 2 | 11 | 2.196 |
| 1793 | MATH | 120 | Discrete Math Comp Sci | BOTEJU, W | 36 | 2 | 5 | 1 | 1 | 1 | 1 | 5 | 3 | 4 | 2 | 6 | 5 | 2.161 |
| 1794 | MATH | 120 | Discrete Math Comp Sci | HANUSA, C | 30 | 2 | 2 | 2 | 1 | 1 | 2 | 3 | 0 | 1 | 2 | 6 | 7 | 2.077 |
| 1795 | MATH | 120 | Discrete Math Comp Sci | BOTEJU, W | 35 | 1 | 1 | 2 | 2 | 4 | 2 | 0 | 2 | 1 | 5 | 6 | 8 | 1.927 |
| 1796 | MATH | 120 | Discrete Math Comp Sci | BERGER, K | 36 | 0 | 1 | 0 | 1 | 3 | 2 | 1 | 5 | 2 | 4 | 6 | 10 | 1.656 |
| 1797 | MATH | 120 | Discrete Math Comp Sci | ADRIAN, M | 37 | 0 | 2 | 0 | 1 | 1 | 3 | 0 | 4 | 3 | 7 | 8 | 8 | 1.466 |
| 1798 | MATH | 122 | Precalculus | CAI, A | 23 | 1 | 1 | 5 | 0 | 0 | 2 | 1 | 1 | 0 | 0 | 0 | 0 | 3.291 |
| 1799 | MATH | 122 | Precalculus | CLEARY, J | 38 | 6 | 11 | 3 | 1 | 2 | 0 | 1 | 2 | 1 | 5 | 0 | 4 | 3.169 |
| 1800 | MATH | 122 | Precalculus | DHARMA, J | 30 | 1 | 0 | 1 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 16 | 3.160 |
| 1801 | MATH | 122 | Precalculus | LEE, H | 35 | 5 | 1 | 2 | 4 | 3 | 4 | 2 | 0 | 3 | 0 | 0 | 11 | 3.088 |
| 1802 | MATH | 122 | Precalculus | ARCHETTI, M | 37 | 10 | 3 | 1 | 2 | 6 | 0 | 1 | 3 | 2 | 1 | 2 | 5 | 3.000 |
| 1803 | MATH | 122 | Precalculus | CLEARY, J | 35 | 3 | 3 | 4 | 2 | 2 | 6 | 2 | 3 | 0 | 4 | 0 | 4 | 2.834 |
| 1804 | MATH | 122 | Precalculus | KALRA, P | 20 | 3 | 1 | 0 | 0 | 0 | 4 | 3 | 2 | 0 | 0 | 1 | 6 | 2.693 |
| 1805 | MATH | 122 | Precalculus | ISLAM, M | 20 | 1 | 0 | 4 | 1 | 2 | 0 | 1 | 2 | 0 | 0 | 2 | 4 | 2.646 |
| 1806 | MATH | 122 | Precalculus | OZKAN, E | 10 | 0 | 3 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 2 | 0 | 2 | 2.613 |
| 1807 | MATH | 122 | Precalculus | BROGES, A | 21 | 0 | 4 | 1 | 0 | 6 | 1 | 1 | 1 | 0 | 1 | 3 | 1 | 2.539 |
| 1808 | MATH | 122 | Precalculus | SPITZ, H | 35 | 1 | 4 | 3 | 2 | 2 | 2 | 0 | 0 | 0 | 5 | 3 | 11 | 2.459 |
| 1809 | MATH | 122 | Precalculus | LI, H | 37 | 5 | 2 | 1 | 1 | 1 | 4 | 2 | 0 | 1 | 2 | 5 | 11 | 2.379 |
| 1810 | MATH | 122 | Precalculus | LORD, A | 37 | 0 | 4 | 0 | 4 | 1 | 1 | 2 | 4 | 0 | 4 | 2 | 9 | 2.341 |
| 1811 | MATH | 122 | Precalculus | MARKOWITZ, E | 40 | 0 | 3 | 4 | 3 | 4 | 3 | 1 | 3 | 2 | 4 | 4 | 8 | 2.339 |
| 1812 | MATH | 122 | Precalculus | FLYNN, D | 35 | 1 | 3 | 3 | 2 | 4 | 2 | 1 | 3 | 5 | 6 | 3 | 2 | 2.239 |
| 1813 | MATH | 122 | Precalculus | COLON, C | 37 | 2 | 1 | 0 | 0 | 1 | 0 | 2 | 1 | 3 | 4 | 0 | 19 | 2.193 |
| 1814 | MATH | 122 | Precalculus | YUABOV, D | 37 | 3 | 2 | 2 | 0 | 0 | 3 | 3 | 1 | 3 | 2 | 5 | 12 | 2.146 |
| 1815 | MATH | 122 | Precalculus | MARKOWITZ, E | 37 | 1 | 3 | 0 | 4 | 3 | 1 | 0 | 3 | 3 | 7 | 3 | 4 | 2.107 |
| 1816 | MATH | 122 | Precalculus | JOSEPH, M | 35 | 0 | 1 | 0 | 0 | 3 | 3 | 2 | 2 | 5 | 1 | 3 | 12 | 1.960 |
| 1817 | MATH | 122 | Precalculus | SHEN, T | 30 | 0 | 0 | 0 | 2 | 1 | 2 | 3 | 2 | 2 | 5 | 2 | 7 | 1.805 |
| 1818 | MATH | 122 | Precalculus | JOSEPH, M | 37 | 0 | 1 | 1 | 1 | 3 | 2 | 1 | 2 | 4 | 3 | 5 | 13 | 1.804 |
| 1819 | MATH | 122 | Precalculus | GANT, S | 35 | 0 | 2 | 2 | 0 | 1 | 0 | 0 | 2 | 1 | 4 | 4 | 14 | 1.756 |
| 1820 | MATH | 122 | Precalculus | SPITZ, H | 35 | 1 | 2 | 1 | 2 | 5 | 0 | 3 | 1 | 1 | 4 | 10 | 5 | 1.730 |
| 1821 | MATH | 122 | Precalculus | TOLEDO, D | 37 | 0 | 0 | 0 | 0 | 0 | 2 | 2 | 4 | 1 | 0 | 7 | 15 | 1.231 |
| 1822 | MATH | 122 | Precalculus | TOLEDO, D | 37 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 2 | 6 | 11 | 10 | 0.671 |
| 1823 | MATH | 131 | Calculus with Applications I | GJONLEKAJ, M | 16 | 2 | 2 | 2 | 0 | 2 | 0 | 2 | 1 | 0 | 0 | 1 | 4 | 3.000 |
| 1824 | MATH | 131 | Calculus with Applications I | GREENMAN, J | 29 | 1 | 7 | 0 | 0 | 2 | 1 | 1 | 4 | 1 | 3 | 0 | 9 | 2.785 |
| 1825 | MATH | 131 | Calculus with Applications I | SABITOVA, M | 20 | 0 | 2 | 0 | 1 | 4 | 0 | 1 | 4 | 2 | 0 | 1 | 5 | 2.467 |
| 1826 | MATH | 131 | Calculus with Applications I | GREENMAN, J | 24 | 1 | 1 | 0 | 1 | 2 | 2 | 0 | 4 | 2 | 2 | 3 | 5 | 2.006 |
| 1827 | MATH | 131 | Calculus with Applications I | GREENMAN, J | 31 | 0 | 4 | 0 | 2 | 3 | 1 | 3 | 2 | 0 | 3 | 7 | 6 | 1.928 |
| 1828 | MATH | 131 | Calculus with Applications I | JOANIDHI, Z | 25 | 0 | 2 | 0 | 1 | 3 | 1 | 1 | 4 | 0 | 0 | 6 | 6 | 1.850 |
| 1829 | MATH | 132 | Calc Appl Soc Sci II | GOLDMAN, S | 12 | 1 | 0 | 1 | 2 | 2 | 1 | 1 | 0 | 0 | 1 | 0 | 2 | 2.922 |
| 1830 | MATH | 141 | Calculus/Differentiation | BROGES, A | 19 | 5 | 3 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 3 | 3.262 |
| 1831 | MATH | 141 | Calculus/Differentiation | KALRA, P | 20 | 2 | 3 | 3 | 0 | 0 | 1 | 2 | 2 | 0 | 0 | 1 | 5 | 3.029 |
| 1832 | MATH | 141 | Calculus/Differentiation | FLYNN, D | 35 | 2 | 6 | 3 | 4 | 2 | 3 | 3 | 2 | 2 | 1 | 1 | 5 | 2.955 |
| 1833 | MATH | 141 | Calculus/Differentiation | GOLDMAN, S | 30 | 1 | 4 | 3 | 4 | 3 | 1 | 2 | 3 | 3 | 2 | 2 | 2 | 2.632 |
| 1834 | MATH | 141 | Calculus/Differentiation | GONZALEZ, R | 35 | 3 | 1 | 2 | 6 | 2 | 1 | 4 | 2 | 2 | 0 | 4 | 6 | 2.537 |
| 1835 | MATH | 141 | Calculus/Differentiation | KIMATOV, M | 38 | 7 | 3 | 2 | 0 | 2 | 2 | 2 | 1 | 3 | 4 | 5 | 5 | 2.403 |
| 1836 | MATH | 141 | Calculus/Differentiation | WANG, A | 34 | 3 | 1 | 1 | 5 | 2 | 4 | 2 | 2 | 0 | 2 | 5 | 7 | 2.356 |
| 1837 | MATH | 141 | Calculus/Differentiation | NICASTRO, S | 38 | 2 | 0 | 3 | 4 | 1 | 4 | 3 | 2 | 3 | 5 | 2 | 9 | 2.314 |
| 1838 | MATH | 141 | Calculus/Differentiation | ERLBAUM, S | 35 | 1 | 5 | 2 | 1 | 0 | 3 | 0 | 1 | 3 | 1 | 6 | 11 | 2.213 |
| 1839 | MATH | 141 | Calculus/Differentiation | ERLBAUM, S | 34 | 0 | 2 | 0 | 1 | 5 | 3 | 3 | 4 | 1 | 5 | 5 | 5 | 1.931 |
| 1840 | MATH | 141 | Calculus/Differentiation | ADRIAN, M | 37 | 1 | 2 | 1 | 1 | 4 | 3 | 0 | 2 | 0 | 2 | 8 | 9 | 1.879 |
| 1841 | MATH | 141 | Calculus/Differentiation | BROGES, A | 20 | 0 | 2 | 0 | 1 | 2 | 2 | 1 | 1 | 0 | 1 | 5 | 4 | 1.867 |
| 1842 | MATH | 141 | Calculus/Differentiation | RALESCU, S | 35 | 2 | 0 | 2 | 0 | 0 | 2 | 0 | 4 | 3 | 0 | 6 | 15 | 1.784 |
| 1843 | MATH | 141 | Calculus/Differentiation | TOBAR, J | 40 | 1 | 3 | 0 | 1 | 1 | 1 | 2 | 3 | 0 | 3 | 7 | 17 | 1.755 |
| 1844 | MATH | 141 | Calculus/Differentiation | DON, E | 35 | 0 | 2 | 0 | 2 | 2 | 0 | 0 | 3 | 0 | 4 | 6 | 13 | 1.611 |
| 1845 | MATH | 142 | Calculus/Integration | MITRA, S | 28 | 1 | 3 | 2 | 5 | 6 | 0 | 1 | 3 | 0 | 0 | 0 | 6 | 3.152 |
| 1846 | MATH | 142 | Calculus/Integration | WEN, C | 29 | 10 | 1 | 2 | 2 | 2 | 0 | 2 | 2 | 0 | 2 | 6 | 0 | 2.572 |
| 1847 | MATH | 142 | Calculus/Integration | WEN, C | 25 | 5 | 1 | 1 | 1 | 1 | 1 | 4 | 1 | 1 | 1 | 4 | 4 | 2.410 |
| 1848 | MATH | 142 | Calculus/Integration | RONG, Y | 21 | 2 | 1 | 1 | 0 | 0 | 2 | 3 | 4 | 0 | 3 | 1 | 4 | 2.294 |
| 1849 | MATH | 142 | Calculus/Integration | RICCARDO, M | 30 | 2 | 0 | 1 | 1 | 3 | 6 | 1 | 3 | 3 | 3 | 2 | 4 | 2.264 |
| 1850 | MATH | 142 | Calculus/Integration | ISLAM, M | 11 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 3 | 3 | 1.888 |
| 1851 | MATH | 142 | Calculus/Integration | SULTAN, A | 28 | 0 | 0 | 1 | 0 | 1 | 0 | 5 | 2 | 1 | 0 | 6 | 12 | 1.494 |
| 1852 | MATH | 142 | Calculus/Integration | RONG, Y | 22 | 0 | 0 | 0 | 0 | 1 | 1 | 3 | 1 | 1 | 5 | 3 | 7 | 1.420 |
| 1853 | MATH | 143 | Calculus-Infinite Series | LIU, Z | 22 | 3 | 1 | 2 | 0 | 1 | 3 | 1 | 1 | 2 | 0 | 1 | 7 | 2.813 |
| 1854 | MATH | 143 | Calculus-Infinite Series | ERLBAUM, S | 30 | 0 | 3 | 1 | 0 | 4 | 3 | 4 | 2 | 3 | 2 | 3 | 4 | 2.244 |
| 1855 | MATH | 143 | Calculus-Infinite Series | ERLBAUM, S | 30 | 2 | 1 | 1 | 3 | 1 | 4 | 1 | 3 | 3 | 3 | 4 | 4 | 2.146 |
| 1856 | MATH | 143 | Calculus-Infinite Series | BRAUN, M | 27 | 1 | 0 | 2 | 1 | 0 | 1 | 1 | 0 | 6 | 2 | 5 | 8 | 1.679 |
| 1857 | MATH | 143 | Calculus-Infinite Series | BRAUN, M | 28 | 2 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 9 | 11 | 1.353 |
| 1858 | MATH | 151 | Calc/Diff & Integtn | PANDAZIS, M | 25 | 2 | 0 | 0 | 1 | 1 | 0 | 0 | 5 | 0 | 5 | 0 | 9 | 2.093 |
| 1859 | MATH | 151 | Calc/Diff & Integtn | DHARMA, J | 27 | 1 | 1 | 1 | 0 | 0 | 2 | 1 | 3 | 1 | 0 | 3 | 12 | 2.085 |
| 1860 | MATH | 151 | Calc/Diff & Integtn | SPITZ, H | 29 | 3 | 0 | 2 | 3 | 1 | 0 | 1 | 1 | 1 | 4 | 5 | 8 | 2.014 |
| 1861 | MATH | 151 | Calc/Diff & Integtn | DON, E | 31 | 2 | 0 | 1 | 2 | 0 | 1 | 0 | 4 | 0 | 4 | 4 | 10 | 1.833 |
| 1862 | MATH | 151 | Calc/Diff & Integtn | KAHAN, S | 30 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 4 | 3 | 18 | 1.327 |
| 1863 | MATH | 152 | Calc/Integration & Infinite | TERILLA, J | 25 | 4 | 5 | 2 | 3 | 1 | 0 | 0 | 2 | 0 | 1 | 3 | 4 | 2.919 |
| 1864 | MATH | 152 | Calc/Integration & Infinite | BERMAN, G | 30 | 1 | 5 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 3 | 16 | 2.515 |
| 1865 | MATH | 152 | Calc/Integration & Infinite | KOROVESHI, B | 26 | 0 | 1 | 2 | 0 | 1 | 1 | 3 | 3 | 0 | 0 | 7 | 8 | 1.667 |
| 1866 | MATH | 152 | Calc/Integration & Infinite | PORCHETTA, E | 20 | 2 | 0 | 0 | 0 | 0 | 2 | 0 | 2 | 2 | 0 | 5 | 7 | 1.600 |
| 1867 | MATH | 152 | Calc/Integration & Infinite | KAHAN, S | 28 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 8 | 15 | 0.969 |
| 1868 | MATH | 201 | Multivariable Calculus | ZAKERI, S | 30 | 3 | 3 | 4 | 3 | 5 | 1 | 1 | 2 | 1 | 0 | 0 | 7 | 3.235 |
| 1869 | MATH | 201 | Multivariable Calculus | SARIC, D | 18 | 0 | 4 | 0 | 1 | 0 | 1 | 2 | 0 | 4 | 0 | 0 | 6 | 2.783 |
| 1870 | MATH | 202 | Advanced Calculus | SARIC, D | 25 | 3 | 7 | 2 | 1 | 0 | 3 | 3 | 1 | 1 | 0 | 0 | 4 | 3.305 |
| 1871 | MATH | 202 | Advanced Calculus | ROTHENBERG, R | 13 | 0 | 4 | 3 | 0 | 1 | 0 | 0 | 0 | 0 | 2 | 0 | 3 | 3.210 |
| 1872 | MATH | 209 | Elementary Set Theory | KLOSIN, K | 14 | 0 | 2 | 1 | 0 | 0 | 1 | 4 | 0 | 0 | 3 | 1 | 2 | 2.217 |
| 1873 | MATH | 220 | Discrete Mathematics | GANGARAM, E | 21 | 1 | 5 | 0 | 4 | 4 | 1 | 1 | 1 | 0 | 1 | 0 | 3 | 3.178 |
| 1874 | MATH | 220 | Discrete Mathematics | MILLER, D | 16 | 2 | 2 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 6 | 3.140 |
| 1875 | MATH | 223 | Diff Equa/Num Meth 1 | JOSEPH, M | 20 | 0 | 4 | 4 | 0 | 1 | 4 | 0 | 2 | 2 | 1 | 1 | 1 | 2.789 |
| 1876 | MATH | 223 | Diff Equa/Num Meth 1 | BRAUN, M | 28 | 1 | 2 | 3 | 3 | 4 | 4 | 2 | 1 | 3 | 1 | 2 | 2 | 2.635 |
| 1877 | MATH | 231 | Linear Algebra I | SABITOVA, M | 19 | 1 | 3 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 12 | 3.371 |
| 1878 | MATH | 231 | Linear Algebra I | JIANG, Y | 30 | 2 | 4 | 4 | 2 | 2 | 0 | 1 | 2 | 0 | 1 | 1 | 11 | 3.089 |
| 1879 | MATH | 231 | Linear Algebra I | ZAKERI, S | 30 | 4 | 5 | 1 | 1 | 4 | 3 | 2 | 4 | 2 | 1 | 1 | 2 | 2.861 |
| 1880 | MATH | 231 | Linear Algebra I | JOSEPH, M | 30 | 1 | 3 | 1 | 2 | 4 | 3 | 1 | 1 | 3 | 0 | 5 | 6 | 2.325 |
| 1881 | MATH | 231 | Linear Algebra I | PANDAZIS, M | 30 | 1 | 3 | 0 | 1 | 1 | 1 | 1 | 3 | 1 | 3 | 2 | 13 | 2.235 |
| 1882 | MATH | 231 | Linear Algebra I | KOROVESHI, B | 26 | 1 | 3 | 2 | 1 | 3 | 2 | 0 | 1 | 2 | 0 | 6 | 5 | 2.214 |
| 1883 | MATH | 231 | Linear Algebra I | DHARMA, J | 27 | 3 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 4 | 16 | 2.209 |
| 1884 | MATH | 231 | Linear Algebra I | BERMAN, G | 21 | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 | 0 | 0 | 3 | 11 | 2.200 |
| 1885 | MATH | 231 | Linear Algebra I | MILLER, D | 24 | 0 | 1 | 2 | 1 | 3 | 1 | 1 | 1 | 2 | 2 | 3 | 7 | 2.124 |
| 1886 | MATH | 231 | Linear Algebra I | KOROVESHI, B | 24 | 0 | 0 | 1 | 0 | 0 | 1 | 3 | 3 | 5 | 0 | 2 | 9 | 1.853 |
| 1887 | MATH | 231 | Linear Algebra I | VLAMIS, N | 23 | 1 | 0 | 0 | 2 | 0 | 2 | 1 | 3 | 2 | 0 | 6 | 5 | 1.629 |
| 1888 | MATH | 241 | Intro Prob & Math Stat | MITRA, S | 25 | 0 | 3 | 2 | 4 | 2 | 4 | 1 | 0 | 0 | 0 | 0 | 8 | 3.231 |
| 1889 | MATH | 241 | Intro Prob & Math Stat | MILLER, D | 25 | 0 | 4 | 1 | 2 | 1 | 0 | 1 | 2 | 1 | 1 | 0 | 12 | 2.946 |
| 1890 | MATH | 241 | Intro Prob & Math Stat | LIU, Z | 35 | 2 | 3 | 2 | 4 | 2 | 4 | 3 | 1 | 2 | 0 | 1 | 11 | 2.904 |
| 1891 | MATH | 241 | Intro Prob & Math Stat | SISSER, F | 36 | 1 | 2 | 1 | 5 | 4 | 6 | 0 | 2 | 2 | 0 | 4 | 9 | 2.511 |
| 1892 | MATH | 241 | Intro Prob & Math Stat | SISSER, F | 36 | 3 | 2 | 4 | 2 | 0 | 6 | 0 | 4 | 7 | 0 | 3 | 4 | 2.500 |
| 1893 | MATH | 241 | Intro Prob & Math Stat | GANGARAM, E | 28 | 3 | 2 | 1 | 2 | 2 | 3 | 0 | 2 | 2 | 2 | 3 | 6 | 2.445 |
| 1894 | MATH | 241 | Intro Prob & Math Stat | MILLER, D | 25 | 1 | 2 | 2 | 1 | 0 | 1 | 1 | 1 | 0 | 2 | 3 | 11 | 2.264 |
| 1895 | MATH | 241 | Intro Prob & Math Stat | NEVAREZ, B | 36 | 2 | 3 | 3 | 0 | 1 | 1 | 4 | 4 | 4 | 4 | 4 | 6 | 2.160 |
| 1896 | MATH | 241 | Intro Prob & Math Stat | GANGARAM, E | 36 | 0 | 1 | 0 | 0 | 3 | 1 | 2 | 3 | 2 | 1 | 10 | 13 | 1.335 |
| 1897 | MATH | 242 | Methods Of Math Statistics | SISSER, F | 36 | 7 | 2 | 1 | 0 | 0 | 4 | 0 | 3 | 4 | 0 | 8 | 7 | 2.183 |
| 1898 | MATH | 247 | Lin Prog & Game Thy | KLOSIN, K | 36 | 4 | 16 | 0 | 1 | 1 | 4 | 2 | 2 | 0 | 0 | 2 | 4 | 3.303 |
| 1899 | MATH | 301 | Abstract Algebra I | MILLER, R | 15 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 13 | 0.850 |
| 1900 | MATH | 310 | Elementary Real Analysis | WILSON, S | 24 | 0 | 5 | 3 | 0 | 4 | 2 | 2 | 2 | 1 | 0 | 0 | 5 | 3.095 |
| 1901 | MATH | 505 | Mathematical Problem-Solving | GANGARAM, E | 30 | 1 | 2 | 3 | 2 | 4 | 5 | 1 | 5 | 3 | 0 | 4 | 0 | 2.420 |
| 1902 | MATH | 509 | Set Theory and Logic | KLOSIN, K | 19 | 0 | 3 | 0 | 0 | 2 | 3 | 2 | 1 | 0 | 0 | 5 | 3 | 2.044 |
| 1903 | MATH | 518 | College Geometry | MARKINSON, M | 21 | 2 | 5 | 1 | 5 | 1 | 1 | 1 | 1 | 0 | 0 | 3 | 1 | 2.910 |
| 1904 | MATH | 614 | Functions of Real Variables | MITRA, S | 11 | 2 | 3 | 2 | 2 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 3.609 |
| 1905 | MATH | 621 | Probability | RALESCU, S | 24 | 0 | 3 | 2 | 1 | 3 | 1 | 0 | 1 | 1 | 0 | 2 | 10 | 2.721 |
| 1906 | MATH | 624 | Numerical Analysis I. | OVCHINNIKOV, A | 15 | 3 | 3 | 2 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 3 | 3.225 |
| 1907 | MATH | 634 | Theory of Graphs | HANUSA, C | 12 | 5 | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 3.427 |
| 1908 | MATH | 2902 | Studies in Mathematics | ZOMBORY, B | 10 | 1 | 3 | 2 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 3.771 |
| 1909 | MATH | 114W | Elementary Prob&Stat | CAI, A | 29 | 11 | 6 | 2 | 0 | 7 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 3.708 |
| 1910 | MATH | 114W | Elementary Prob&Stat | RICCARDO, M | 30 | 8 | 6 | 3 | 1 | 1 | 1 | 2 | 0 | 1 | 3 | 0 | 4 | 3.285 |
CourseNumberPattern = r'^[1-3][0-9]{2}W?$'
math_df = math_df[math_df['NBR'].str.contains(CourseNumberPattern)]
math_df
| SUBJECT | NBR | COURSE NAME | PROF | TOTAL | A+ | A | A- | B+ | B | B- | C+ | C | C- | D | F | W | AVG GPA | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1757 | MATH | 110 | Math Literacy | ALI, M | 37 | 7 | 9 | 3 | 4 | 2 | 2 | 1 | 1 | 0 | 1 | 0 | 5 | 3.500 |
| 1758 | MATH | 110 | Math Literacy | ALI, M | 37 | 10 | 7 | 2 | 1 | 3 | 3 | 3 | 1 | 0 | 1 | 0 | 5 | 3.410 |
| 1759 | MATH | 110 | Math Literacy | LASKER, M | 31 | 3 | 8 | 2 | 3 | 0 | 4 | 0 | 1 | 0 | 0 | 2 | 7 | 3.222 |
| 1760 | MATH | 110 | Math Literacy | BEGA, J | 37 | 4 | 0 | 5 | 3 | 3 | 3 | 4 | 2 | 2 | 0 | 1 | 6 | 2.893 |
| 1761 | MATH | 110 | Math Literacy | WOLF-SONKIN, V | 30 | 0 | 1 | 1 | 0 | 6 | 1 | 0 | 2 | 2 | 4 | 5 | 7 | 1.809 |
| 1762 | MATH | 114 | Elementary Prob&Stat | LEHMAN, S | 20 | 1 | 1 | 4 | 0 | 5 | 0 | 2 | 0 | 1 | 3 | 0 | 3 | 2.771 |
| 1763 | MATH | 115 | College Algebra for Precalc | ALI, M | 29 | 6 | 5 | 1 | 4 | 3 | 2 | 0 | 1 | 2 | 1 | 0 | 3 | 3.268 |
| 1764 | MATH | 115 | College Algebra for Precalc | UDDIN, J | 30 | 0 | 3 | 1 | 3 | 1 | 2 | 0 | 1 | 3 | 0 | 1 | 14 | 2.740 |
| 1765 | MATH | 115 | College Algebra for Precalc | CLARKE, A | 22 | 1 | 0 | 1 | 1 | 2 | 1 | 0 | 1 | 0 | 0 | 1 | 11 | 2.713 |
| 1766 | MATH | 115 | College Algebra for Precalc | TOBAR, J | 30 | 1 | 2 | 3 | 1 | 4 | 0 | 1 | 5 | 2 | 3 | 0 | 2 | 2.595 |
| 1767 | MATH | 115 | College Algebra for Precalc | NAKAYAMA, A | 38 | 4 | 2 | 0 | 2 | 3 | 3 | 2 | 4 | 1 | 1 | 3 | 8 | 2.520 |
| 1768 | MATH | 115 | College Algebra for Precalc | NAKAYAMA, A | 39 | 3 | 1 | 3 | 7 | 0 | 2 | 4 | 2 | 1 | 5 | 3 | 6 | 2.435 |
| 1769 | MATH | 115 | College Algebra for Precalc | CLARKE, A | 21 | 0 | 0 | 1 | 1 | 0 | 5 | 0 | 1 | 1 | 0 | 1 | 6 | 2.420 |
| 1770 | MATH | 115 | College Algebra for Precalc | OSTROWSKY, A | 37 | 3 | 4 | 1 | 2 | 1 | 0 | 0 | 2 | 2 | 6 | 2 | 12 | 2.378 |
| 1771 | MATH | 115 | College Algebra for Precalc | BOTEJU, W | 38 | 0 | 3 | 2 | 0 | 2 | 3 | 2 | 2 | 4 | 2 | 5 | 8 | 2.036 |
| 1772 | MATH | 115 | College Algebra for Precalc | LEE, D | 35 | 0 | 3 | 0 | 4 | 2 | 0 | 1 | 0 | 6 | 9 | 1 | 9 | 2.027 |
| 1773 | MATH | 115 | College Algebra for Precalc | GILLMAN, P | 30 | 3 | 0 | 0 | 0 | 2 | 0 | 2 | 0 | 1 | 3 | 5 | 9 | 1.706 |
| 1774 | MATH | 115 | College Algebra for Precalc | CLARKE, A | 22 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 2 | 0 | 3 | 7 | 1.556 |
| 1775 | MATH | 115 | College Algebra for Precalc | WOLF-SONKIN, V | 30 | 0 | 0 | 0 | 1 | 0 | 3 | 1 | 1 | 2 | 1 | 4 | 16 | 1.546 |
| 1776 | MATH | 115 | College Algebra for Precalc | LEE, D | 35 | 0 | 0 | 0 | 2 | 0 | 2 | 0 | 1 | 8 | 7 | 3 | 9 | 1.504 |
| 1777 | MATH | 115 | College Algebra for Precalc | LEHMAN, S | 21 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 2 | 0 | 1 | 6 | 5 | 1.415 |
| 1778 | MATH | 115 | College Algebra for Precalc | GILLMAN, P | 36 | 0 | 2 | 0 | 0 | 1 | 0 | 2 | 1 | 2 | 2 | 8 | 12 | 1.278 |
| 1779 | MATH | 115 | College Algebra for Precalc | NEVAREZ, B | 30 | 0 | 0 | 0 | 2 | 0 | 2 | 2 | 1 | 1 | 3 | 8 | 9 | 1.226 |
| 1780 | MATH | 115 | College Algebra for Precalc | CHOW, J | 29 | 0 | 0 | 0 | 2 | 0 | 0 | 1 | 3 | 0 | 5 | 8 | 4 | 1.047 |
| 1781 | MATH | 115 | College Algebra for Precalc | GONZALEZ, R | 14 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 2 | 1 | 1 | 7 | 1 | 0.867 |
| 1782 | MATH | 119 | Math for Elem School Teachers | LEE, H | 25 | 4 | 2 | 3 | 3 | 3 | 4 | 2 | 0 | 0 | 1 | 0 | 3 | 3.200 |
| 1783 | MATH | 119 | Math for Elem School Teachers | GREENMAN, J | 30 | 3 | 5 | 2 | 1 | 4 | 0 | 2 | 8 | 1 | 0 | 0 | 4 | 2.962 |
| 1784 | MATH | 119 | Math for Elem School Teachers | CHOW, J | 29 | 5 | 5 | 1 | 3 | 1 | 2 | 2 | 2 | 2 | 0 | 2 | 1 | 2.960 |
| 1785 | MATH | 119 | Math for Elem School Teachers | LIN, Y | 30 | 6 | 4 | 1 | 5 | 1 | 2 | 0 | 3 | 1 | 3 | 2 | 2 | 2.832 |
| 1786 | MATH | 119 | Math for Elem School Teachers | LEHMAN, S | 16 | 2 | 1 | 2 | 1 | 1 | 1 | 0 | 1 | 0 | 3 | 1 | 2 | 2.569 |
| 1787 | MATH | 119 | Math for Elem School Teachers | BERGER, K | 36 | 2 | 4 | 5 | 3 | 1 | 2 | 0 | 1 | 2 | 9 | 1 | 5 | 2.507 |
| 1788 | MATH | 119 | Math for Elem School Teachers | SHEN, T | 36 | 1 | 2 | 1 | 2 | 2 | 4 | 3 | 2 | 4 | 5 | 2 | 7 | 2.207 |
| 1789 | MATH | 120 | Discrete Math Comp Sci | GOLDMAN, S | 35 | 0 | 9 | 6 | 2 | 3 | 2 | 9 | 0 | 1 | 2 | 0 | 1 | 3.047 |
| 1790 | MATH | 120 | Discrete Math Comp Sci | WANG, A | 35 | 4 | 2 | 1 | 2 | 0 | 3 | 5 | 2 | 3 | 2 | 1 | 10 | 2.600 |
| 1791 | MATH | 120 | Discrete Math Comp Sci | JOANIDHI, Z | 30 | 0 | 8 | 1 | 0 | 1 | 0 | 1 | 5 | 0 | 0 | 6 | 6 | 2.318 |
| 1792 | MATH | 120 | Discrete Math Comp Sci | BERGER, K | 35 | 0 | 1 | 0 | 2 | 6 | 3 | 2 | 2 | 2 | 4 | 2 | 11 | 2.196 |
| 1793 | MATH | 120 | Discrete Math Comp Sci | BOTEJU, W | 36 | 2 | 5 | 1 | 1 | 1 | 1 | 5 | 3 | 4 | 2 | 6 | 5 | 2.161 |
| 1794 | MATH | 120 | Discrete Math Comp Sci | HANUSA, C | 30 | 2 | 2 | 2 | 1 | 1 | 2 | 3 | 0 | 1 | 2 | 6 | 7 | 2.077 |
| 1795 | MATH | 120 | Discrete Math Comp Sci | BOTEJU, W | 35 | 1 | 1 | 2 | 2 | 4 | 2 | 0 | 2 | 1 | 5 | 6 | 8 | 1.927 |
| 1796 | MATH | 120 | Discrete Math Comp Sci | BERGER, K | 36 | 0 | 1 | 0 | 1 | 3 | 2 | 1 | 5 | 2 | 4 | 6 | 10 | 1.656 |
| 1797 | MATH | 120 | Discrete Math Comp Sci | ADRIAN, M | 37 | 0 | 2 | 0 | 1 | 1 | 3 | 0 | 4 | 3 | 7 | 8 | 8 | 1.466 |
| 1798 | MATH | 122 | Precalculus | CAI, A | 23 | 1 | 1 | 5 | 0 | 0 | 2 | 1 | 1 | 0 | 0 | 0 | 0 | 3.291 |
| 1799 | MATH | 122 | Precalculus | CLEARY, J | 38 | 6 | 11 | 3 | 1 | 2 | 0 | 1 | 2 | 1 | 5 | 0 | 4 | 3.169 |
| 1800 | MATH | 122 | Precalculus | DHARMA, J | 30 | 1 | 0 | 1 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 16 | 3.160 |
| 1801 | MATH | 122 | Precalculus | LEE, H | 35 | 5 | 1 | 2 | 4 | 3 | 4 | 2 | 0 | 3 | 0 | 0 | 11 | 3.088 |
| 1802 | MATH | 122 | Precalculus | ARCHETTI, M | 37 | 10 | 3 | 1 | 2 | 6 | 0 | 1 | 3 | 2 | 1 | 2 | 5 | 3.000 |
| 1803 | MATH | 122 | Precalculus | CLEARY, J | 35 | 3 | 3 | 4 | 2 | 2 | 6 | 2 | 3 | 0 | 4 | 0 | 4 | 2.834 |
| 1804 | MATH | 122 | Precalculus | KALRA, P | 20 | 3 | 1 | 0 | 0 | 0 | 4 | 3 | 2 | 0 | 0 | 1 | 6 | 2.693 |
| 1805 | MATH | 122 | Precalculus | ISLAM, M | 20 | 1 | 0 | 4 | 1 | 2 | 0 | 1 | 2 | 0 | 0 | 2 | 4 | 2.646 |
| 1806 | MATH | 122 | Precalculus | OZKAN, E | 10 | 0 | 3 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 2 | 0 | 2 | 2.613 |
| 1807 | MATH | 122 | Precalculus | BROGES, A | 21 | 0 | 4 | 1 | 0 | 6 | 1 | 1 | 1 | 0 | 1 | 3 | 1 | 2.539 |
| 1808 | MATH | 122 | Precalculus | SPITZ, H | 35 | 1 | 4 | 3 | 2 | 2 | 2 | 0 | 0 | 0 | 5 | 3 | 11 | 2.459 |
| 1809 | MATH | 122 | Precalculus | LI, H | 37 | 5 | 2 | 1 | 1 | 1 | 4 | 2 | 0 | 1 | 2 | 5 | 11 | 2.379 |
| 1810 | MATH | 122 | Precalculus | LORD, A | 37 | 0 | 4 | 0 | 4 | 1 | 1 | 2 | 4 | 0 | 4 | 2 | 9 | 2.341 |
| 1811 | MATH | 122 | Precalculus | MARKOWITZ, E | 40 | 0 | 3 | 4 | 3 | 4 | 3 | 1 | 3 | 2 | 4 | 4 | 8 | 2.339 |
| 1812 | MATH | 122 | Precalculus | FLYNN, D | 35 | 1 | 3 | 3 | 2 | 4 | 2 | 1 | 3 | 5 | 6 | 3 | 2 | 2.239 |
| 1813 | MATH | 122 | Precalculus | COLON, C | 37 | 2 | 1 | 0 | 0 | 1 | 0 | 2 | 1 | 3 | 4 | 0 | 19 | 2.193 |
| 1814 | MATH | 122 | Precalculus | YUABOV, D | 37 | 3 | 2 | 2 | 0 | 0 | 3 | 3 | 1 | 3 | 2 | 5 | 12 | 2.146 |
| 1815 | MATH | 122 | Precalculus | MARKOWITZ, E | 37 | 1 | 3 | 0 | 4 | 3 | 1 | 0 | 3 | 3 | 7 | 3 | 4 | 2.107 |
| 1816 | MATH | 122 | Precalculus | JOSEPH, M | 35 | 0 | 1 | 0 | 0 | 3 | 3 | 2 | 2 | 5 | 1 | 3 | 12 | 1.960 |
| 1817 | MATH | 122 | Precalculus | SHEN, T | 30 | 0 | 0 | 0 | 2 | 1 | 2 | 3 | 2 | 2 | 5 | 2 | 7 | 1.805 |
| 1818 | MATH | 122 | Precalculus | JOSEPH, M | 37 | 0 | 1 | 1 | 1 | 3 | 2 | 1 | 2 | 4 | 3 | 5 | 13 | 1.804 |
| 1819 | MATH | 122 | Precalculus | GANT, S | 35 | 0 | 2 | 2 | 0 | 1 | 0 | 0 | 2 | 1 | 4 | 4 | 14 | 1.756 |
| 1820 | MATH | 122 | Precalculus | SPITZ, H | 35 | 1 | 2 | 1 | 2 | 5 | 0 | 3 | 1 | 1 | 4 | 10 | 5 | 1.730 |
| 1821 | MATH | 122 | Precalculus | TOLEDO, D | 37 | 0 | 0 | 0 | 0 | 0 | 2 | 2 | 4 | 1 | 0 | 7 | 15 | 1.231 |
| 1822 | MATH | 122 | Precalculus | TOLEDO, D | 37 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 2 | 6 | 11 | 10 | 0.671 |
| 1823 | MATH | 131 | Calculus with Applications I | GJONLEKAJ, M | 16 | 2 | 2 | 2 | 0 | 2 | 0 | 2 | 1 | 0 | 0 | 1 | 4 | 3.000 |
| 1824 | MATH | 131 | Calculus with Applications I | GREENMAN, J | 29 | 1 | 7 | 0 | 0 | 2 | 1 | 1 | 4 | 1 | 3 | 0 | 9 | 2.785 |
| 1825 | MATH | 131 | Calculus with Applications I | SABITOVA, M | 20 | 0 | 2 | 0 | 1 | 4 | 0 | 1 | 4 | 2 | 0 | 1 | 5 | 2.467 |
| 1826 | MATH | 131 | Calculus with Applications I | GREENMAN, J | 24 | 1 | 1 | 0 | 1 | 2 | 2 | 0 | 4 | 2 | 2 | 3 | 5 | 2.006 |
| 1827 | MATH | 131 | Calculus with Applications I | GREENMAN, J | 31 | 0 | 4 | 0 | 2 | 3 | 1 | 3 | 2 | 0 | 3 | 7 | 6 | 1.928 |
| 1828 | MATH | 131 | Calculus with Applications I | JOANIDHI, Z | 25 | 0 | 2 | 0 | 1 | 3 | 1 | 1 | 4 | 0 | 0 | 6 | 6 | 1.850 |
| 1829 | MATH | 132 | Calc Appl Soc Sci II | GOLDMAN, S | 12 | 1 | 0 | 1 | 2 | 2 | 1 | 1 | 0 | 0 | 1 | 0 | 2 | 2.922 |
| 1830 | MATH | 141 | Calculus/Differentiation | BROGES, A | 19 | 5 | 3 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 3 | 3.262 |
| 1831 | MATH | 141 | Calculus/Differentiation | KALRA, P | 20 | 2 | 3 | 3 | 0 | 0 | 1 | 2 | 2 | 0 | 0 | 1 | 5 | 3.029 |
| 1832 | MATH | 141 | Calculus/Differentiation | FLYNN, D | 35 | 2 | 6 | 3 | 4 | 2 | 3 | 3 | 2 | 2 | 1 | 1 | 5 | 2.955 |
| 1833 | MATH | 141 | Calculus/Differentiation | GOLDMAN, S | 30 | 1 | 4 | 3 | 4 | 3 | 1 | 2 | 3 | 3 | 2 | 2 | 2 | 2.632 |
| 1834 | MATH | 141 | Calculus/Differentiation | GONZALEZ, R | 35 | 3 | 1 | 2 | 6 | 2 | 1 | 4 | 2 | 2 | 0 | 4 | 6 | 2.537 |
| 1835 | MATH | 141 | Calculus/Differentiation | KIMATOV, M | 38 | 7 | 3 | 2 | 0 | 2 | 2 | 2 | 1 | 3 | 4 | 5 | 5 | 2.403 |
| 1836 | MATH | 141 | Calculus/Differentiation | WANG, A | 34 | 3 | 1 | 1 | 5 | 2 | 4 | 2 | 2 | 0 | 2 | 5 | 7 | 2.356 |
| 1837 | MATH | 141 | Calculus/Differentiation | NICASTRO, S | 38 | 2 | 0 | 3 | 4 | 1 | 4 | 3 | 2 | 3 | 5 | 2 | 9 | 2.314 |
| 1838 | MATH | 141 | Calculus/Differentiation | ERLBAUM, S | 35 | 1 | 5 | 2 | 1 | 0 | 3 | 0 | 1 | 3 | 1 | 6 | 11 | 2.213 |
| 1839 | MATH | 141 | Calculus/Differentiation | ERLBAUM, S | 34 | 0 | 2 | 0 | 1 | 5 | 3 | 3 | 4 | 1 | 5 | 5 | 5 | 1.931 |
| 1840 | MATH | 141 | Calculus/Differentiation | ADRIAN, M | 37 | 1 | 2 | 1 | 1 | 4 | 3 | 0 | 2 | 0 | 2 | 8 | 9 | 1.879 |
| 1841 | MATH | 141 | Calculus/Differentiation | BROGES, A | 20 | 0 | 2 | 0 | 1 | 2 | 2 | 1 | 1 | 0 | 1 | 5 | 4 | 1.867 |
| 1842 | MATH | 141 | Calculus/Differentiation | RALESCU, S | 35 | 2 | 0 | 2 | 0 | 0 | 2 | 0 | 4 | 3 | 0 | 6 | 15 | 1.784 |
| 1843 | MATH | 141 | Calculus/Differentiation | TOBAR, J | 40 | 1 | 3 | 0 | 1 | 1 | 1 | 2 | 3 | 0 | 3 | 7 | 17 | 1.755 |
| 1844 | MATH | 141 | Calculus/Differentiation | DON, E | 35 | 0 | 2 | 0 | 2 | 2 | 0 | 0 | 3 | 0 | 4 | 6 | 13 | 1.611 |
| 1845 | MATH | 142 | Calculus/Integration | MITRA, S | 28 | 1 | 3 | 2 | 5 | 6 | 0 | 1 | 3 | 0 | 0 | 0 | 6 | 3.152 |
| 1846 | MATH | 142 | Calculus/Integration | WEN, C | 29 | 10 | 1 | 2 | 2 | 2 | 0 | 2 | 2 | 0 | 2 | 6 | 0 | 2.572 |
| 1847 | MATH | 142 | Calculus/Integration | WEN, C | 25 | 5 | 1 | 1 | 1 | 1 | 1 | 4 | 1 | 1 | 1 | 4 | 4 | 2.410 |
| 1848 | MATH | 142 | Calculus/Integration | RONG, Y | 21 | 2 | 1 | 1 | 0 | 0 | 2 | 3 | 4 | 0 | 3 | 1 | 4 | 2.294 |
| 1849 | MATH | 142 | Calculus/Integration | RICCARDO, M | 30 | 2 | 0 | 1 | 1 | 3 | 6 | 1 | 3 | 3 | 3 | 2 | 4 | 2.264 |
| 1850 | MATH | 142 | Calculus/Integration | ISLAM, M | 11 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 3 | 3 | 1.888 |
| 1851 | MATH | 142 | Calculus/Integration | SULTAN, A | 28 | 0 | 0 | 1 | 0 | 1 | 0 | 5 | 2 | 1 | 0 | 6 | 12 | 1.494 |
| 1852 | MATH | 142 | Calculus/Integration | RONG, Y | 22 | 0 | 0 | 0 | 0 | 1 | 1 | 3 | 1 | 1 | 5 | 3 | 7 | 1.420 |
| 1853 | MATH | 143 | Calculus-Infinite Series | LIU, Z | 22 | 3 | 1 | 2 | 0 | 1 | 3 | 1 | 1 | 2 | 0 | 1 | 7 | 2.813 |
| 1854 | MATH | 143 | Calculus-Infinite Series | ERLBAUM, S | 30 | 0 | 3 | 1 | 0 | 4 | 3 | 4 | 2 | 3 | 2 | 3 | 4 | 2.244 |
| 1855 | MATH | 143 | Calculus-Infinite Series | ERLBAUM, S | 30 | 2 | 1 | 1 | 3 | 1 | 4 | 1 | 3 | 3 | 3 | 4 | 4 | 2.146 |
| 1856 | MATH | 143 | Calculus-Infinite Series | BRAUN, M | 27 | 1 | 0 | 2 | 1 | 0 | 1 | 1 | 0 | 6 | 2 | 5 | 8 | 1.679 |
| 1857 | MATH | 143 | Calculus-Infinite Series | BRAUN, M | 28 | 2 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 9 | 11 | 1.353 |
| 1858 | MATH | 151 | Calc/Diff & Integtn | PANDAZIS, M | 25 | 2 | 0 | 0 | 1 | 1 | 0 | 0 | 5 | 0 | 5 | 0 | 9 | 2.093 |
| 1859 | MATH | 151 | Calc/Diff & Integtn | DHARMA, J | 27 | 1 | 1 | 1 | 0 | 0 | 2 | 1 | 3 | 1 | 0 | 3 | 12 | 2.085 |
| 1860 | MATH | 151 | Calc/Diff & Integtn | SPITZ, H | 29 | 3 | 0 | 2 | 3 | 1 | 0 | 1 | 1 | 1 | 4 | 5 | 8 | 2.014 |
| 1861 | MATH | 151 | Calc/Diff & Integtn | DON, E | 31 | 2 | 0 | 1 | 2 | 0 | 1 | 0 | 4 | 0 | 4 | 4 | 10 | 1.833 |
| 1862 | MATH | 151 | Calc/Diff & Integtn | KAHAN, S | 30 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 4 | 3 | 18 | 1.327 |
| 1863 | MATH | 152 | Calc/Integration & Infinite | TERILLA, J | 25 | 4 | 5 | 2 | 3 | 1 | 0 | 0 | 2 | 0 | 1 | 3 | 4 | 2.919 |
| 1864 | MATH | 152 | Calc/Integration & Infinite | BERMAN, G | 30 | 1 | 5 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 3 | 16 | 2.515 |
| 1865 | MATH | 152 | Calc/Integration & Infinite | KOROVESHI, B | 26 | 0 | 1 | 2 | 0 | 1 | 1 | 3 | 3 | 0 | 0 | 7 | 8 | 1.667 |
| 1866 | MATH | 152 | Calc/Integration & Infinite | PORCHETTA, E | 20 | 2 | 0 | 0 | 0 | 0 | 2 | 0 | 2 | 2 | 0 | 5 | 7 | 1.600 |
| 1867 | MATH | 152 | Calc/Integration & Infinite | KAHAN, S | 28 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 8 | 15 | 0.969 |
| 1868 | MATH | 201 | Multivariable Calculus | ZAKERI, S | 30 | 3 | 3 | 4 | 3 | 5 | 1 | 1 | 2 | 1 | 0 | 0 | 7 | 3.235 |
| 1869 | MATH | 201 | Multivariable Calculus | SARIC, D | 18 | 0 | 4 | 0 | 1 | 0 | 1 | 2 | 0 | 4 | 0 | 0 | 6 | 2.783 |
| 1870 | MATH | 202 | Advanced Calculus | SARIC, D | 25 | 3 | 7 | 2 | 1 | 0 | 3 | 3 | 1 | 1 | 0 | 0 | 4 | 3.305 |
| 1871 | MATH | 202 | Advanced Calculus | ROTHENBERG, R | 13 | 0 | 4 | 3 | 0 | 1 | 0 | 0 | 0 | 0 | 2 | 0 | 3 | 3.210 |
| 1872 | MATH | 209 | Elementary Set Theory | KLOSIN, K | 14 | 0 | 2 | 1 | 0 | 0 | 1 | 4 | 0 | 0 | 3 | 1 | 2 | 2.217 |
| 1873 | MATH | 220 | Discrete Mathematics | GANGARAM, E | 21 | 1 | 5 | 0 | 4 | 4 | 1 | 1 | 1 | 0 | 1 | 0 | 3 | 3.178 |
| 1874 | MATH | 220 | Discrete Mathematics | MILLER, D | 16 | 2 | 2 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 6 | 3.140 |
| 1875 | MATH | 223 | Diff Equa/Num Meth 1 | JOSEPH, M | 20 | 0 | 4 | 4 | 0 | 1 | 4 | 0 | 2 | 2 | 1 | 1 | 1 | 2.789 |
| 1876 | MATH | 223 | Diff Equa/Num Meth 1 | BRAUN, M | 28 | 1 | 2 | 3 | 3 | 4 | 4 | 2 | 1 | 3 | 1 | 2 | 2 | 2.635 |
| 1877 | MATH | 231 | Linear Algebra I | SABITOVA, M | 19 | 1 | 3 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 12 | 3.371 |
| 1878 | MATH | 231 | Linear Algebra I | JIANG, Y | 30 | 2 | 4 | 4 | 2 | 2 | 0 | 1 | 2 | 0 | 1 | 1 | 11 | 3.089 |
| 1879 | MATH | 231 | Linear Algebra I | ZAKERI, S | 30 | 4 | 5 | 1 | 1 | 4 | 3 | 2 | 4 | 2 | 1 | 1 | 2 | 2.861 |
| 1880 | MATH | 231 | Linear Algebra I | JOSEPH, M | 30 | 1 | 3 | 1 | 2 | 4 | 3 | 1 | 1 | 3 | 0 | 5 | 6 | 2.325 |
| 1881 | MATH | 231 | Linear Algebra I | PANDAZIS, M | 30 | 1 | 3 | 0 | 1 | 1 | 1 | 1 | 3 | 1 | 3 | 2 | 13 | 2.235 |
| 1882 | MATH | 231 | Linear Algebra I | KOROVESHI, B | 26 | 1 | 3 | 2 | 1 | 3 | 2 | 0 | 1 | 2 | 0 | 6 | 5 | 2.214 |
| 1883 | MATH | 231 | Linear Algebra I | DHARMA, J | 27 | 3 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 4 | 16 | 2.209 |
| 1884 | MATH | 231 | Linear Algebra I | BERMAN, G | 21 | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 | 0 | 0 | 3 | 11 | 2.200 |
| 1885 | MATH | 231 | Linear Algebra I | MILLER, D | 24 | 0 | 1 | 2 | 1 | 3 | 1 | 1 | 1 | 2 | 2 | 3 | 7 | 2.124 |
| 1886 | MATH | 231 | Linear Algebra I | KOROVESHI, B | 24 | 0 | 0 | 1 | 0 | 0 | 1 | 3 | 3 | 5 | 0 | 2 | 9 | 1.853 |
| 1887 | MATH | 231 | Linear Algebra I | VLAMIS, N | 23 | 1 | 0 | 0 | 2 | 0 | 2 | 1 | 3 | 2 | 0 | 6 | 5 | 1.629 |
| 1888 | MATH | 241 | Intro Prob & Math Stat | MITRA, S | 25 | 0 | 3 | 2 | 4 | 2 | 4 | 1 | 0 | 0 | 0 | 0 | 8 | 3.231 |
| 1889 | MATH | 241 | Intro Prob & Math Stat | MILLER, D | 25 | 0 | 4 | 1 | 2 | 1 | 0 | 1 | 2 | 1 | 1 | 0 | 12 | 2.946 |
| 1890 | MATH | 241 | Intro Prob & Math Stat | LIU, Z | 35 | 2 | 3 | 2 | 4 | 2 | 4 | 3 | 1 | 2 | 0 | 1 | 11 | 2.904 |
| 1891 | MATH | 241 | Intro Prob & Math Stat | SISSER, F | 36 | 1 | 2 | 1 | 5 | 4 | 6 | 0 | 2 | 2 | 0 | 4 | 9 | 2.511 |
| 1892 | MATH | 241 | Intro Prob & Math Stat | SISSER, F | 36 | 3 | 2 | 4 | 2 | 0 | 6 | 0 | 4 | 7 | 0 | 3 | 4 | 2.500 |
| 1893 | MATH | 241 | Intro Prob & Math Stat | GANGARAM, E | 28 | 3 | 2 | 1 | 2 | 2 | 3 | 0 | 2 | 2 | 2 | 3 | 6 | 2.445 |
| 1894 | MATH | 241 | Intro Prob & Math Stat | MILLER, D | 25 | 1 | 2 | 2 | 1 | 0 | 1 | 1 | 1 | 0 | 2 | 3 | 11 | 2.264 |
| 1895 | MATH | 241 | Intro Prob & Math Stat | NEVAREZ, B | 36 | 2 | 3 | 3 | 0 | 1 | 1 | 4 | 4 | 4 | 4 | 4 | 6 | 2.160 |
| 1896 | MATH | 241 | Intro Prob & Math Stat | GANGARAM, E | 36 | 0 | 1 | 0 | 0 | 3 | 1 | 2 | 3 | 2 | 1 | 10 | 13 | 1.335 |
| 1897 | MATH | 242 | Methods Of Math Statistics | SISSER, F | 36 | 7 | 2 | 1 | 0 | 0 | 4 | 0 | 3 | 4 | 0 | 8 | 7 | 2.183 |
| 1898 | MATH | 247 | Lin Prog & Game Thy | KLOSIN, K | 36 | 4 | 16 | 0 | 1 | 1 | 4 | 2 | 2 | 0 | 0 | 2 | 4 | 3.303 |
| 1899 | MATH | 301 | Abstract Algebra I | MILLER, R | 15 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 13 | 0.850 |
| 1900 | MATH | 310 | Elementary Real Analysis | WILSON, S | 24 | 0 | 5 | 3 | 0 | 4 | 2 | 2 | 2 | 1 | 0 | 0 | 5 | 3.095 |
| 1909 | MATH | 114W | Elementary Prob&Stat | CAI, A | 29 | 11 | 6 | 2 | 0 | 7 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 3.708 |
| 1910 | MATH | 114W | Elementary Prob&Stat | RICCARDO, M | 30 | 8 | 6 | 3 | 1 | 1 | 1 | 2 | 0 | 1 | 3 | 0 | 4 | 3.285 |
unique(): This function returns an array of all unique values in the order that they appear in the original DataFrame or Series. It's useful when you want to see or use the actual unique values (https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.unique.html)
nunique(): This function returns an integer that represents the number of unique values. It's useful when you just want to know how many unique values exist, rather than what those unique values are (https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.nunique.html)
def calculate_average_gpas(df):
# Prepare a list to store the results
results = []
# GPA equivalents for each letter grade
letter_grades_to_gpa = {
"A+": 4.0,
"A": 4.0,
"A-": 3.7,
"B+": 3.3,
"B": 3.0,
"B-": 2.7,
"C+": 2.3,
"C": 2.0,
"C-": 1.7,
"D": 1.0,
"F": 0.0
}
# Loop over all unique course numbers
for class_nbr in df["NBR"].unique():
# Filter the DataFrame for the current course number
df_nbr = df[df["NBR"] == class_nbr]
# Loop over all unique professors for the current course number
for prof in df_nbr["PROF"].unique():
# Filter the DataFrame for the current professor
df_prof = df_nbr[df_nbr["PROF"] == prof]
# Calculate the average GPA for the current professor and course number
avg_gpa_prof = round(df_prof["AVG GPA"].mean(), 1)
# Convert the individual grade counts to GPA equivalents and calculate the standard deviation
gpa_distributions = []
for grade_letter, gpa in letter_grades_to_gpa.items():
gpa_distributions.extend([gpa] * df_prof[grade_letter].sum())
std_dev_gpa_prof = round(np.std(gpa_distributions), 2)
# Append the result to the list
results.append({
"CLASS NUMBER": class_nbr,
"PROF": prof,
"AVG GPA PROF": avg_gpa_prof,
"AVG GPA PROF LETTER": gpa_letter_converter(avg_gpa_prof),
"STD DEV GPA PROF": std_dev_gpa_prof
})
# If there is more than one professor for this course, calculate the average GPA for the current course number, regardless of the professor
if df_nbr["PROF"].nunique() > 1:
avg_gpa_nbr = round(df_nbr["AVG GPA"].mean(), 1)
# Convert the individual grade counts to GPA equivalents and calculate the standard deviation
gpa_distributions = []
for grade_letter, gpa in letter_grades_to_gpa.items():
gpa_distributions.extend([gpa] * df_nbr[grade_letter].sum())
std_dev_gpa_nbr = round(np.std(gpa_distributions), 2)
# Append the result to the list
results.append({
"CLASS NUMBER": class_nbr,
"PROF": "All Professors",
"AVG GPA PROF": avg_gpa_nbr,
"AVG GPA PROF LETTER": gpa_letter_converter(avg_gpa_nbr),
"STD DEV GPA PROF": std_dev_gpa_nbr
})
# Convert the list of results to a DataFrame
df_results = pd.DataFrame(results)
# Find the hardest class based on average GPA
hardest_class = df_results[df_results["PROF"] == "All Professors"].sort_values("AVG GPA PROF").iloc[0]
# Calculate the average GPA for the entire subject
avg_gpa_subject = round(df["AVG GPA"].mean(), 1)
print(f"Average GPA for this entire subject in Fall 2022 is: {avg_gpa_subject}, which is a {gpa_letter_converter(avg_gpa_subject)}")
print(f"The hardest class based on average GPA in Fall 2022 is class number: {hardest_class['CLASS NUMBER']} with an average GPA of {hardest_class['AVG GPA PROF']}, which is a {hardest_class['AVG GPA PROF LETTER']}")
print("\nStandard deviation tells us about the spread of the grades that students received in each class. A higher standard deviation indicates a wider range of grades, while a lower standard deviation indicates that grades were more closely clustered around the average.")
return df_results
math_df_results = calculate_average_gpas(math_df)
math_df_results
Average GPA for this entire subject in Fall 2022 is: 2.3, which is a C+ The hardest class based on average GPA in Fall 2022 is class number: 151 with an average GPA of 1.9, which is a C- Standard deviation tells us about the spread of the grades that students received in each class. A higher standard deviation indicates a wider range of grades, while a lower standard deviation indicates that grades were more closely clustered around the average.
| CLASS NUMBER | PROF | AVG GPA PROF | AVG GPA PROF LETTER | STD DEV GPA PROF | |
|---|---|---|---|---|---|
| 0 | 110 | ALI, M | 3.5 | B+ | 0.77 |
| 1 | 110 | LASKER, M | 3.2 | B | 1.15 |
| 2 | 110 | BEGA, J | 2.9 | B- | 0.92 |
| 3 | 110 | WOLF-SONKIN, V | 1.8 | C- | 1.29 |
| 4 | 110 | All Professors | 3.0 | B | 1.13 |
| 5 | 114 | LEHMAN, S | 2.8 | B- | 1.02 |
| 6 | 115 | ALI, M | 3.3 | B+ | 0.86 |
| 7 | 115 | UDDIN, J | 2.7 | B- | 1.10 |
| 8 | 115 | CLARKE, A | 2.2 | C | 1.22 |
| 9 | 115 | TOBAR, J | 2.6 | C+ | 1.00 |
| 10 | 115 | NAKAYAMA, A | 2.5 | C+ | 1.25 |
| 11 | 115 | OSTROWSKY, A | 2.4 | C+ | 1.42 |
| 12 | 115 | BOTEJU, W | 2.0 | C | 1.32 |
| 13 | 115 | LEE, D | 1.8 | C- | 1.07 |
| 14 | 115 | GILLMAN, P | 1.5 | D | 1.45 |
| 15 | 115 | WOLF-SONKIN, V | 1.5 | D | 1.17 |
| 16 | 115 | LEHMAN, S | 1.4 | D | 1.51 |
| 17 | 115 | NEVAREZ, B | 1.2 | D | 1.22 |
| 18 | 115 | CHOW, J | 1.0 | D | 1.11 |
| 19 | 115 | GONZALEZ, R | 0.9 | F | 1.17 |
| 20 | 115 | All Professors | 2.0 | C | 1.36 |
| 21 | 119 | LEE, H | 3.2 | B | 0.74 |
| 22 | 119 | GREENMAN, J | 3.0 | B | 0.87 |
| 23 | 119 | CHOW, J | 3.0 | B | 1.19 |
| 24 | 119 | LIN, Y | 2.8 | B- | 1.27 |
| 25 | 119 | LEHMAN, S | 2.6 | C+ | 1.35 |
| 26 | 119 | BERGER, K | 2.5 | C+ | 1.30 |
| 27 | 119 | SHEN, T | 2.2 | C | 1.11 |
| 28 | 119 | All Professors | 2.7 | B- | 1.18 |
| 29 | 120 | GOLDMAN, S | 3.0 | B | 0.88 |
| 30 | 120 | WANG, A | 2.6 | C+ | 1.09 |
| 31 | 120 | JOANIDHI, Z | 2.3 | C+ | 1.62 |
| 32 | 120 | BERGER, K | 1.9 | C- | 1.15 |
| 33 | 120 | BOTEJU, W | 2.0 | C | 1.40 |
| 34 | 120 | HANUSA, C | 2.1 | C | 1.53 |
| 35 | 120 | ADRIAN, M | 1.5 | D | 1.22 |
| 36 | 120 | All Professors | 2.2 | C | 1.35 |
| 37 | 122 | CAI, A | 3.3 | B+ | 0.69 |
| 38 | 122 | CLEARY, J | 3.0 | B | 1.08 |
| 39 | 122 | DHARMA, J | 3.2 | B | 0.57 |
| 40 | 122 | LEE, H | 3.1 | B | 0.75 |
| 41 | 122 | ARCHETTI, M | 3.0 | B | 1.17 |
| 42 | 122 | KALRA, P | 2.7 | B- | 1.05 |
| 43 | 122 | ISLAM, M | 2.6 | C+ | 1.30 |
| 44 | 122 | OZKAN, E | 2.6 | C+ | 1.19 |
| 45 | 122 | BROGES, A | 2.5 | C+ | 1.36 |
| 46 | 122 | SPITZ, H | 2.1 | C | 1.52 |
| 47 | 122 | LI, H | 2.4 | C+ | 1.50 |
| 48 | 122 | LORD, A | 2.3 | C+ | 1.24 |
| 49 | 122 | MARKOWITZ, E | 2.2 | C | 1.28 |
| 50 | 122 | FLYNN, D | 2.2 | C | 1.23 |
| 51 | 122 | COLON, C | 2.2 | C | 1.10 |
| 52 | 122 | YUABOV, D | 2.1 | C | 1.43 |
| 53 | 122 | JOSEPH, M | 1.9 | C- | 1.16 |
| 54 | 122 | SHEN, T | 1.8 | C- | 0.98 |
| 55 | 122 | GANT, S | 1.8 | C- | 1.46 |
| 56 | 122 | TOLEDO, D | 1.0 | D | 0.99 |
| 57 | 122 | All Professors | 2.3 | C+ | 1.35 |
| 58 | 131 | GJONLEKAJ, M | 3.0 | B | 1.15 |
| 59 | 131 | GREENMAN, J | 2.2 | C | 1.35 |
| 60 | 131 | SABITOVA, M | 2.5 | C+ | 0.99 |
| 61 | 131 | JOANIDHI, Z | 1.8 | C- | 1.43 |
| 62 | 131 | All Professors | 2.3 | C+ | 1.34 |
| 63 | 132 | GOLDMAN, S | 2.9 | B- | 0.83 |
| 64 | 141 | BROGES, A | 2.6 | C+ | 1.56 |
| 65 | 141 | KALRA, P | 3.0 | B | 1.15 |
| 66 | 141 | FLYNN, D | 3.0 | B | 1.02 |
| 67 | 141 | GOLDMAN, S | 2.6 | C+ | 1.17 |
| 68 | 141 | GONZALEZ, R | 2.5 | C+ | 1.26 |
| 69 | 141 | KIMATOV, M | 2.4 | C+ | 1.48 |
| 70 | 141 | WANG, A | 2.4 | C+ | 1.36 |
| 71 | 141 | NICASTRO, S | 2.3 | C+ | 1.13 |
| 72 | 141 | ERLBAUM, S | 2.1 | C | 1.38 |
| 73 | 141 | ADRIAN, M | 1.9 | C- | 1.52 |
| 74 | 141 | RALESCU, S | 1.8 | C- | 1.42 |
| 75 | 141 | TOBAR, J | 1.8 | C- | 1.49 |
| 76 | 141 | DON, E | 1.6 | D | 1.42 |
| 77 | 141 | All Professors | 2.3 | C+ | 1.40 |
| 78 | 142 | MITRA, S | 3.2 | B | 0.63 |
| 79 | 142 | WEN, C | 2.5 | C+ | 1.52 |
| 80 | 142 | RONG, Y | 1.9 | C- | 1.14 |
| 81 | 142 | RICCARDO, M | 2.3 | C+ | 1.06 |
| 82 | 142 | ISLAM, M | 1.9 | C- | 1.60 |
| 83 | 142 | SULTAN, A | 1.5 | D | 1.23 |
| 84 | 142 | All Professors | 2.2 | C | 1.34 |
| 85 | 143 | LIU, Z | 2.8 | B- | 1.11 |
| 86 | 143 | ERLBAUM, S | 2.2 | C | 1.22 |
| 87 | 143 | BRAUN, M | 1.5 | D | 1.47 |
| 88 | 143 | All Professors | 2.0 | C | 1.37 |
| 89 | 151 | PANDAZIS, M | 2.1 | C | 1.05 |
| 90 | 151 | DHARMA, J | 2.1 | C | 1.36 |
| 91 | 151 | SPITZ, H | 2.0 | C | 1.51 |
| 92 | 151 | DON, E | 1.8 | C- | 1.38 |
| 93 | 151 | KAHAN, S | 1.3 | D | 1.12 |
| 94 | 151 | All Professors | 1.9 | C- | 1.35 |
| 95 | 152 | TERILLA, J | 2.9 | B- | 1.43 |
| 96 | 152 | BERMAN, G | 2.5 | C+ | 1.68 |
| 97 | 152 | KOROVESHI, B | 1.7 | C- | 1.44 |
| 98 | 152 | PORCHETTA, E | 1.6 | D | 1.44 |
| 99 | 152 | KAHAN, S | 1.0 | D | 1.39 |
| 100 | 152 | All Professors | 1.9 | C- | 1.63 |
| 101 | 201 | ZAKERI, S | 3.2 | B | 0.70 |
| 102 | 201 | SARIC, D | 2.8 | B- | 0.97 |
| 103 | 201 | All Professors | 3.0 | B | 0.83 |
| 104 | 202 | SARIC, D | 3.3 | B+ | 0.80 |
| 105 | 202 | ROTHENBERG, R | 3.2 | B | 1.14 |
| 106 | 202 | All Professors | 3.3 | B+ | 0.93 |
| 107 | 209 | KLOSIN, K | 2.2 | C | 1.23 |
| 108 | 220 | GANGARAM, E | 3.2 | B | 0.79 |
| 109 | 220 | MILLER, D | 3.1 | B | 1.36 |
| 110 | 220 | All Professors | 3.2 | B | 1.03 |
| 111 | 223 | JOSEPH, M | 2.8 | B- | 1.12 |
| 112 | 223 | BRAUN, M | 2.6 | C+ | 1.09 |
| 113 | 223 | All Professors | 2.7 | B- | 1.10 |
| 114 | 231 | SABITOVA, M | 3.4 | B+ | 0.81 |
| 115 | 231 | JIANG, Y | 3.1 | B | 1.11 |
| 116 | 231 | ZAKERI, S | 2.9 | B- | 1.05 |
| 117 | 231 | JOSEPH, M | 2.3 | C+ | 1.38 |
| 118 | 231 | PANDAZIS, M | 2.2 | C | 1.32 |
| 119 | 231 | KOROVESHI, B | 2.0 | C | 1.33 |
| 120 | 231 | DHARMA, J | 2.2 | C | 1.76 |
| 121 | 231 | BERMAN, G | 2.2 | C | 1.55 |
| 122 | 231 | MILLER, D | 2.1 | C | 1.31 |
| 123 | 231 | VLAMIS, N | 1.6 | D | 1.33 |
| 124 | 231 | All Professors | 2.4 | C+ | 1.38 |
| 125 | 241 | MITRA, S | 3.2 | B | 0.52 |
| 126 | 241 | MILLER, D | 2.6 | C+ | 1.35 |
| 127 | 241 | LIU, Z | 2.9 | B- | 0.94 |
| 128 | 241 | SISSER, F | 2.5 | C+ | 1.19 |
| 129 | 241 | GANGARAM, E | 1.9 | C- | 1.43 |
| 130 | 241 | NEVAREZ, B | 2.2 | C | 1.29 |
| 131 | 241 | All Professors | 2.5 | C+ | 1.29 |
| 132 | 242 | SISSER, F | 2.2 | C | 1.58 |
| 133 | 247 | KLOSIN, K | 3.3 | B+ | 1.10 |
| 134 | 301 | MILLER, R | 0.8 | F | 0.85 |
| 135 | 310 | WILSON, S | 3.1 | B | 0.77 |
| 136 | 114W | CAI, A | 3.7 | A- | 0.44 |
| 137 | 114W | RICCARDO, M | 3.3 | B+ | 1.04 |
| 138 | 114W | All Professors | 3.5 | B+ | 0.83 |
import matplotlib.pyplot as plt
import seaborn as sns
plt.figure()
all_prof_df_results = math_df_results[math_df_results["PROF"] == 'All Professors']
sns.histplot(all_prof_df_results["STD DEV GPA PROF"], kde=True, color='skyblue')
plt.axvline(all_prof_df_results["STD DEV GPA PROF"].mean(), color='red', linestyle='dashed', linewidth=1, label='Mean')
min_ylim, max_ylim = plt.ylim()
plt.text(all_prof_df_results["STD DEV GPA PROF"].mean()*1.2, max_ylim*0.9, 'Mean: {:.2f}'.format(all_prof_df_results["STD DEV GPA PROF"].mean()))
# Generate a color palette with as many colors as classes
colors = sns.color_palette("husl", len(all_prof_df_results))
for idx, (_, row) in enumerate(all_prof_df_results.iterrows()):
plt.axvline(row["STD DEV GPA PROF"], color=colors[idx], linestyle='dotted', linewidth=0.5, label=row["CLASS NUMBER"])
plt.title("Distribution of Standard Deviations of GPAs")
plt.xlabel("Standard Deviation")
plt.ylabel("Frequency")
plt.legend(loc='upper right', bbox_to_anchor=(1.3, 1)) # Adjusted the location to ensure it doesn't overlap with the plot
plt.show()
def calculate_teacher_gpas(df):
# Prepare a list to store the results
results = []
# GPA equivalents for each letter grade
letter_grades_to_gpa = {
"A+": 4.0,
"A": 4.0,
"A-": 3.7,
"B+": 3.3,
"B": 3.0,
"B-": 2.7,
"C+": 2.3,
"C": 2.0,
"C-": 1.7,
"D": 1.0,
"F": 0.0
}
# Loop over all unique professors
for prof in sorted(df["PROF"].unique()):
# Filter the DataFrame for the current professor
df_prof = df[df["PROF"] == prof]
# Calculate the average GPA for the current professor
avg_gpa_prof = round(df_prof["AVG GPA"].mean(), 1)
# Convert the individual grade counts to GPA equivalents and calculate the standard deviation
gpa_distributions = []
for grade_letter, gpa in letter_grades_to_gpa.items():
gpa_distributions.extend([gpa] * df_prof[grade_letter].sum())
std_dev_gpa_prof = round(np.std(gpa_distributions), 1)
# Calculate the percentage of students who withdrew for the current professor
withdraw_percentage = df_prof["W"].sum() / df_prof["TOTAL"].sum()
# Append the result to the list
results.append({
"PROF": prof,
"AVG GPA PROF": avg_gpa_prof,
"AVG GPA PROF LETTER": gpa_letter_converter(avg_gpa_prof),
"STD DEV GPA PROF": std_dev_gpa_prof,
"NUM OF CLASSES": len(df_prof),
"WITHDRAW PERCENTAGE": round(withdraw_percentage * 100, 1)
})
# Convert the list of results to a DataFrame
df_results = pd.DataFrame(results)
# Calculate the average GPA for the entire subject
avg_gpa_subject = round(df["AVG GPA"].mean(), 1)
# Calculate the average standard deviation for the entire subject
gpa_distributions = []
for grade_letter, gpa in letter_grades_to_gpa.items():
gpa_distributions.extend([gpa] * df[grade_letter].sum())
avg_std_dev_subject = round(np.std(gpa_distributions), 1)
# Calculate the average withdrawal percentage for the entire subject
withdraw_percentage_subject = round((df["W"].sum() / df["TOTAL"].sum()) * 100, 2)
# Find the professors who teach more than one class, have a GPA that is the same or higher than the subject average GPA,
# and for whom less than 40% of students withdrew
best_profs = df_results[(df_results["NUM OF CLASSES"] > 1) & (df_results["AVG GPA PROF"] >= avg_gpa_subject) & (df_results["WITHDRAW PERCENTAGE"] <= withdraw_percentage_subject)]
print(f"Professors who teach more than one class, have a GPA that is the same or higher than the subject average GPA ({avg_gpa_subject}), and have a withdrawal percentage that is less or equal than the subject average withdrawal percentage ({withdraw_percentage_subject}%):\n")
print(best_profs, "\n")
print("Note: This ignores rate my professor ratings. This is soley based on GPA and it doesn't consider how much students actually learn from these teachers!")
print(f"Average standard deviation of GPA for all teachers in this subject in Fall 2022 is: {avg_std_dev_subject}")
return df_results
teacher_math_df_results = calculate_teacher_gpas(math_df)
teacher_math_df_results
Professors who teach more than one class, have a GPA that is the same or higher than the subject average GPA (2.3), and have a withdrawal percentage that is less or equal than the subject average withdrawal percentage (24.98%):
PROF AVG GPA PROF AVG GPA PROF LETTER STD DEV GPA PROF \
1 ALI, M 3.4 B+ 0.8
8 BROGES, A 2.6 C+ 1.5
9 CAI, A 3.5 B+ 0.6
12 CLEARY, J 3.0 B 1.1
17 FLYNN, D 2.6 C+ 1.2
22 GOLDMAN, S 2.9 B- 1.0
24 GREENMAN, J 2.4 C+ 1.3
26 ISLAM, M 2.3 C+ 1.5
33 KLOSIN, K 2.8 B- 1.2
37 LEE, H 3.1 B 0.8
38 LEHMAN, S 2.3 C+ 1.4
47 NAKAYAMA, A 2.5 C+ 1.3
55 RICCARDO, M 2.8 B- 1.2
59 SARIC, D 3.0 B 0.9
61 SISSER, F 2.4 C+ 1.3
69 WANG, A 2.5 C+ 1.2
70 WEN, C 2.5 C+ 1.5
74 ZAKERI, S 3.0 B 0.9
NUM OF CLASSES WITHDRAW PERCENTAGE
1 3 12.6
8 3 13.3
9 2 5.8
12 2 11.0
17 2 10.0
22 3 6.5
24 4 21.1
26 2 22.6
33 2 12.0
37 2 23.3
38 3 17.5
47 2 18.2
55 2 13.3
59 2 23.3
61 3 18.5
69 2 24.6
70 2 7.4
74 2 15.0
Note: This ignores rate my professor ratings. This is soley based on GPA and it doesn't consider how much students actually learn from these teachers!
Average standard deviation of GPA for all teachers in this subject in Fall 2022 is: 1.4
| PROF | AVG GPA PROF | AVG GPA PROF LETTER | STD DEV GPA PROF | NUM OF CLASSES | WITHDRAW PERCENTAGE | |
|---|---|---|---|---|---|---|
| 0 | ADRIAN, M | 1.7 | C- | 1.4 | 2 | 23.0 |
| 1 | ALI, M | 3.4 | B+ | 0.8 | 3 | 12.6 |
| 2 | ARCHETTI, M | 3.0 | B | 1.2 | 1 | 13.5 |
| 3 | BEGA, J | 2.9 | B- | 0.9 | 1 | 16.2 |
| 4 | BERGER, K | 2.1 | C | 1.2 | 3 | 24.3 |
| 5 | BERMAN, G | 2.4 | C+ | 1.6 | 2 | 52.9 |
| 6 | BOTEJU, W | 2.0 | C | 1.4 | 3 | 19.3 |
| 7 | BRAUN, M | 1.9 | C- | 1.4 | 3 | 25.3 |
| 8 | BROGES, A | 2.6 | C+ | 1.5 | 3 | 13.3 |
| 9 | CAI, A | 3.5 | B+ | 0.6 | 2 | 5.8 |
| 10 | CHOW, J | 2.0 | C | 1.5 | 2 | 8.6 |
| 11 | CLARKE, A | 2.2 | C | 1.2 | 3 | 36.9 |
| 12 | CLEARY, J | 3.0 | B | 1.1 | 2 | 11.0 |
| 13 | COLON, C | 2.2 | C | 1.1 | 1 | 51.4 |
| 14 | DHARMA, J | 2.5 | C+ | 1.5 | 3 | 52.4 |
| 15 | DON, E | 1.7 | C- | 1.4 | 2 | 34.8 |
| 16 | ERLBAUM, S | 2.1 | C | 1.3 | 4 | 18.6 |
| 17 | FLYNN, D | 2.6 | C+ | 1.2 | 2 | 10.0 |
| 18 | GANGARAM, E | 2.3 | C+ | 1.4 | 3 | 25.9 |
| 19 | GANT, S | 1.8 | C- | 1.5 | 1 | 40.0 |
| 20 | GILLMAN, P | 1.5 | D | 1.4 | 2 | 31.8 |
| 21 | GJONLEKAJ, M | 3.0 | B | 1.2 | 1 | 25.0 |
| 22 | GOLDMAN, S | 2.9 | B- | 1.0 | 3 | 6.5 |
| 23 | GONZALEZ, R | 1.7 | C- | 1.5 | 2 | 14.3 |
| 24 | GREENMAN, J | 2.4 | C+ | 1.3 | 4 | 21.1 |
| 25 | HANUSA, C | 2.1 | C | 1.5 | 1 | 23.3 |
| 26 | ISLAM, M | 2.3 | C+ | 1.5 | 2 | 22.6 |
| 27 | JIANG, Y | 3.1 | B | 1.1 | 1 | 36.7 |
| 28 | JOANIDHI, Z | 2.1 | C | 1.6 | 2 | 21.8 |
| 29 | JOSEPH, M | 2.2 | C | 1.3 | 4 | 26.2 |
| 30 | KAHAN, S | 1.1 | D | 1.3 | 2 | 56.9 |
| 31 | KALRA, P | 2.9 | B- | 1.1 | 2 | 27.5 |
| 32 | KIMATOV, M | 2.4 | C+ | 1.5 | 1 | 13.2 |
| 33 | KLOSIN, K | 2.8 | B- | 1.2 | 2 | 12.0 |
| 34 | KOROVESHI, B | 1.9 | C- | 1.4 | 3 | 28.9 |
| 35 | LASKER, M | 3.2 | B | 1.2 | 1 | 22.6 |
| 36 | LEE, D | 1.8 | C- | 1.1 | 2 | 25.7 |
| 37 | LEE, H | 3.1 | B | 0.8 | 2 | 23.3 |
| 38 | LEHMAN, S | 2.3 | C+ | 1.4 | 3 | 17.5 |
| 39 | LI, H | 2.4 | C+ | 1.5 | 1 | 29.7 |
| 40 | LIN, Y | 2.8 | B- | 1.3 | 1 | 6.7 |
| 41 | LIU, Z | 2.9 | B- | 1.0 | 2 | 31.6 |
| 42 | LORD, A | 2.3 | C+ | 1.2 | 1 | 24.3 |
| 43 | MARKOWITZ, E | 2.2 | C | 1.3 | 2 | 15.6 |
| 44 | MILLER, D | 2.6 | C+ | 1.4 | 4 | 40.0 |
| 45 | MILLER, R | 0.8 | F | 0.8 | 1 | 86.7 |
| 46 | MITRA, S | 3.2 | B | 0.6 | 2 | 26.4 |
| 47 | NAKAYAMA, A | 2.5 | C+ | 1.3 | 2 | 18.2 |
| 48 | NEVAREZ, B | 1.7 | C- | 1.3 | 2 | 22.7 |
| 49 | NICASTRO, S | 2.3 | C+ | 1.1 | 1 | 23.7 |
| 50 | OSTROWSKY, A | 2.4 | C+ | 1.4 | 1 | 32.4 |
| 51 | OZKAN, E | 2.6 | C+ | 1.2 | 1 | 20.0 |
| 52 | PANDAZIS, M | 2.2 | C | 1.2 | 2 | 40.0 |
| 53 | PORCHETTA, E | 1.6 | D | 1.4 | 1 | 35.0 |
| 54 | RALESCU, S | 1.8 | C- | 1.4 | 1 | 42.9 |
| 55 | RICCARDO, M | 2.8 | B- | 1.2 | 2 | 13.3 |
| 56 | RONG, Y | 1.9 | C- | 1.1 | 2 | 25.6 |
| 57 | ROTHENBERG, R | 3.2 | B | 1.1 | 1 | 23.1 |
| 58 | SABITOVA, M | 2.9 | B- | 1.0 | 2 | 43.6 |
| 59 | SARIC, D | 3.0 | B | 0.9 | 2 | 23.3 |
| 60 | SHEN, T | 2.0 | C | 1.1 | 2 | 21.2 |
| 61 | SISSER, F | 2.4 | C+ | 1.3 | 3 | 18.5 |
| 62 | SPITZ, H | 2.1 | C | 1.5 | 3 | 24.2 |
| 63 | SULTAN, A | 1.5 | D | 1.2 | 1 | 42.9 |
| 64 | TERILLA, J | 2.9 | B- | 1.4 | 1 | 16.0 |
| 65 | TOBAR, J | 2.2 | C | 1.3 | 2 | 27.1 |
| 66 | TOLEDO, D | 1.0 | D | 1.0 | 2 | 33.8 |
| 67 | UDDIN, J | 2.7 | B- | 1.1 | 1 | 46.7 |
| 68 | VLAMIS, N | 1.6 | D | 1.3 | 1 | 21.7 |
| 69 | WANG, A | 2.5 | C+ | 1.2 | 2 | 24.6 |
| 70 | WEN, C | 2.5 | C+ | 1.5 | 2 | 7.4 |
| 71 | WILSON, S | 3.1 | B | 0.8 | 1 | 20.8 |
| 72 | WOLF-SONKIN, V | 1.7 | C- | 1.3 | 2 | 38.3 |
| 73 | YUABOV, D | 2.1 | C | 1.4 | 1 | 32.4 |
| 74 | ZAKERI, S | 3.0 | B | 0.9 | 2 | 15.0 |
import plotly.express as px
# Set the overall average GPA
mean_gpa = 2.3
# Create the scatter plot using Plotly Express
fig = px.scatter(teacher_math_df_results,
x=list(range(len(teacher_math_df_results))),
y='AVG GPA PROF',
hover_name='PROF', # This will show the professor's name when hovering over a point
title="MATH Professor GPA Averages vs MATH Subject Average GPA",
labels={'x': 'Professor (By Index Above)', 'y': 'Average GPA'},
size_max=100)
# Add a line for the average GPA
fig.add_shape(
type='line',
line=dict(dash='dash', color='red'),
x0=0,
x1=len(teacher_math_df_results),
y0=mean_gpa,
y1=mean_gpa,
)
# Show the plot
fig.show()
# Count the number of classes with an average GPA at or greater than 3.0 and those less than 3.0
green_percentage = teacher_math_df_results[teacher_math_df_results['AVG GPA PROF'] >= 3.0].shape[0]
red_percentage = teacher_math_df_results[teacher_math_df_results['AVG GPA PROF'] < 3.0].shape[0]
# Create the values and labels for the pie chart
values = [green_percentage, red_percentage]
labels = ['At or above 3.0 (B or above)', 'At or below 2.7 (B- or below)']
# Define the colors for each section (green and red)
colors = ['#77dd77', '#ff6961']
# Plot the pie chart
plt.figure(figsize = (6, 6))
plt.pie(values, labels = labels, colors = colors, autopct = '%1.1f%%')
# Set the title
plt.title("Average GPA of all MATH Teachers")
# Show the plot
plt.show()